home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / route.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  71 lines

  1. /*
  2.  * INET        An implementation of the TCP/IP protocol suite for the LINUX
  3.  *        operating system.  INET is implemented using the  BSD Socket
  4.  *        interface as the means of communication with the user level.
  5.  *
  6.  *        Global definitions for the IP router interface.
  7.  *
  8.  * Version:    @(#)route.h    1.0.3    05/27/93
  9.  *
  10.  * Authors:    Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
  11.  *        for the purposes of compatibility only.
  12.  *
  13.  *        Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
  14.  *
  15.  * Changes:
  16.  *              Mike McLagan    :       Routing by source
  17.  *
  18.  *        This program is free software; you can redistribute it and/or
  19.  *        modify it under the terms of the GNU General Public License
  20.  *        as published by the Free Software Foundation; either version
  21.  *        2 of the License, or (at your option) any later version.
  22.  */
  23. #ifndef _LINUX_ROUTE_H
  24. #define _LINUX_ROUTE_H
  25.  
  26. #include <linux/if.h>
  27. #include <linux/compiler.h>
  28.  
  29. /* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
  30. struct rtentry 
  31. {
  32.     unsigned long    rt_pad1;
  33.     struct sockaddr    rt_dst;        /* target address        */
  34.     struct sockaddr    rt_gateway;    /* gateway addr (RTF_GATEWAY)    */
  35.     struct sockaddr    rt_genmask;    /* target network mask (IP)    */
  36.     unsigned short    rt_flags;
  37.     short        rt_pad2;
  38.     unsigned long    rt_pad3;
  39.     void        *rt_pad4;
  40.     short        rt_metric;    /* +1 for binary compatibility!    */
  41.     char __user    *rt_dev;    /* forcing the device at add    */
  42.     unsigned long    rt_mtu;        /* per route MTU/Window     */
  43. #ifndef __KERNEL__
  44. #define rt_mss    rt_mtu            /* Compatibility :-(            */
  45. #endif
  46.     unsigned long    rt_window;    /* Window clamping         */
  47.     unsigned short    rt_irtt;    /* Initial RTT            */
  48. };
  49.  
  50.  
  51. #define    RTF_UP        0x0001        /* route usable              */
  52. #define    RTF_GATEWAY    0x0002        /* destination is a gateway    */
  53. #define    RTF_HOST    0x0004        /* host entry (net otherwise)    */
  54. #define RTF_REINSTATE    0x0008        /* reinstate route after tmout    */
  55. #define    RTF_DYNAMIC    0x0010        /* created dyn. (by redirect)    */
  56. #define    RTF_MODIFIED    0x0020        /* modified dyn. (by redirect)    */
  57. #define RTF_MTU        0x0040        /* specific MTU for this route    */
  58. #define RTF_MSS        RTF_MTU        /* Compatibility :-(        */
  59. #define RTF_WINDOW    0x0080        /* per route window clamping    */
  60. #define RTF_IRTT    0x0100        /* Initial round trip time    */
  61. #define RTF_REJECT    0x0200        /* Reject route            */
  62.  
  63. /*
  64.  *    <linux/ipv6_route.h> uses RTF values >= 64k
  65.  */
  66.  
  67.  
  68.  
  69. #endif    /* _LINUX_ROUTE_H */
  70.  
  71.